package com.lemon.components.ant.docmaker.action;

import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;

import javax.swing.JFileChooser;
import javax.swing.JOptionPane;

import com.lemon.components.ant.docmaker.MysqlDoc;

import lombok.Data;

@Data
public class ExportMysqlAction implements ActionListener{
	
	private Component parent;

	@Override
	public void actionPerformed(ActionEvent e) {
		var mysqlDoc = new MysqlDoc();
		// 创建 JFileChooser 实例
        JFileChooser fileChooser = new JFileChooser();
        // 设置文件选择模式为只选择文件
        fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
        fileChooser.setFileFilter(new javax.swing.filechooser.FileFilter() {
            @Override
            public boolean accept(File f) {
                return f.isDirectory() || f.getName().toLowerCase().endsWith(".xlsx");
            }
            @Override
            public String getDescription() {
                return "Excel 文件 (*.xlsx)";
            }
        });
        // 显示保存文件对话框
        int result = fileChooser.showSaveDialog(parent);

        // 检查用户是否点击了保存按钮
        if (result == JFileChooser.APPROVE_OPTION) {
            // 获取用户选择的文件
            File selectedFile = fileChooser.getSelectedFile();
            // 输出用户选择的文件路径
            try {
				mysqlDoc.exportTables(selectedFile.getAbsolutePath());
			} catch (Exception e1) {
				JOptionPane.showMessageDialog(parent, e1.getMessage(), "导出失败", JOptionPane.ERROR_MESSAGE);
			}
        }
	}

}
